class Solution:
    def maxSubArray(self, nums):
        """使用Kadane算法计算最大子数组和"""
        if not nums:
            return 0

        current_sum = nums[0]  # 当前子数组的最大和
        global_max = nums[0]  # 全局最大子数组和

        for num in nums[1:]:
            # 决定是开始新的子数组还是延续当前子数组
            current_sum = max(num, current_sum + num)
            # 更新全局最大和
            global_max = max(global_max, current_sum)

        return global_max